home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 24 / Amiga Format AFCD24 (Feb 1998, Issue 108).iso / -in_the_mag- / emulation / -otherstuff- / cross64_003 / expand.asm < prev    next >
Assembly Source File  |  1998-01-20  |  1KB  |  52 lines

  1. ****************************************************
  2. ;
  3. ; Example program for testing the Cross64 assembler
  4. ;
  5. ; Expanding screen borders vertcally.
  6. ; After expansion a sprite placed under the top or
  7. ; bottom screen border will be visible.
  8. ;
  9. ****************************************************
  10.     ORG $C000
  11.  
  12. * Initialize the interrupt.
  13. START    SEI
  14.     LDA #>IRQ    ; interrupt vector
  15.     STA $FFFE
  16.     LDA #<IRQ
  17.     STA $FFFF
  18.     LDA #$7F    ; disable IRQ interrupt
  19.     STA $DC0D
  20.     LDA #1        ; enable raster interrupt
  21.     STA $D01A
  22.     LDA #$F8    ; interrupt at $F8
  23.     STA $D012
  24.     LDA #$1B
  25.     STA $D011
  26.     LDA $DC0D
  27.     CLI
  28.  
  29. L001    JMP L001
  30.  
  31. * Expanding top & bottom borders.
  32. * Interrupt at raster line $F8.
  33. ;IRQ    STA REMA+1    ; store registers
  34. ;    STX REMX+1    ; note that arithmetic operations are not implemented
  35. ;    STY REMY+1    ;   in Cross64 yet...
  36. IRQ    STA REMA    ; store registers
  37.     STX REMX
  38.     STY REMY
  39.     LDA $D019    ; acknowledge the interrupt
  40.     STA $D019
  41.     LDA #$13    ; shrink screen vertically
  42.     STA $D011    ; (24 lines)
  43.     LDA #$FC    ; wait for raster line $FC
  44. L002    CMP $D012
  45.     BNE L002
  46.     LDA #$1B    ; restore screen height
  47.     STA $D011    ; to normal (25 lines)
  48. REMA    LDA #0
  49. REMX    LDX #0
  50. REMY    LDY #0
  51.     RTI
  52.